package com.jyy.prefabricated.service;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

/**
 * @author zhangyang
 * @date 2019/12/20.
 */
@Service
@Slf4j
public class SmsServiceImpl {

    /**
     *
     * @param mobile
     * @param code
     * @param type 1 或者不填表示是发送验证码短信，2表示登录提醒短信
     * @param send_time
     * @return
     * @throws MalformedURLException
     * @throws UnsupportedEncodingException
     */
    public long sendSMS(String mobile,String code,Integer type, String send_time) throws MalformedURLException, UnsupportedEncodingException {
        URL url = null;
        String corpId = "SDK3573";
        String pwd = "hnjy123456";
//        String content = "尊敬的用户，您本次的验证码为：XXXXXX，请勿随意将验证码泄露与他人，以免造成不必要的损失。验证码10分钟内有效。如非本人操作请及时更改密码保护账号安全。【装配式建筑职业能力水平评价服务平台】";
//        String otherContent = "您尾号XXXXXX的账号已登录建研二维码商城平台，如非本人操作，请及时修改密码保护账号安全。【装配式建筑职业能力水平评价服务平台】";
        String content = "尊敬的用户，您本次的验证码为：XXXXXX，请勿随意将验证码泄露与他人，以免造成不必要的损失。验证码10分钟内有效。如非本人操作请及时更改密码保护账号安全。【建业云】";
        String otherContent = "您尾号XXXXXX的账号已登录建研二维码商城平台，如非本人操作，请及时修改密码保护账号安全。【建业云】";
//        String content = "尊敬的用户，您本次的验证码为：XXXXXX，请勿随意将验证码泄露与他人，以免造成不必要的损失。验证码10分钟内有效。如非本人操作请及时更改密码保护账号安全。【山河链（北京）科技有限公司】";
//        String otherContent = "您尾号XXXXXX的账号已登录建研二维码商城平台，如非本人操作，请及时修改密码保护账号安全。【山河链（北京）科技有限公司】";
//        String content = "尊敬的用户，您本次的验证码为：XXXXXX，请勿随意将验证码泄露与他人，以免造成不必要的损失。验证码10分钟内有效。如非本人操作请及时更改密码保护账号安全。【建业筑才】";
//        String otherContent = "您尾号XXXXXX的账号已登录建业筑才商城平台，如非本人操作，请及时修改密码保护账号安全。【建业筑才】";
        String realContent = (type == null || type == 1) ? content : otherContent ;
        String send_content= URLEncoder.encode(realContent.replace("XXXXXX", code).replaceAll("<br/>", " "), "GBK");
        String param = send_time == null? corpId+"&Pwd="+pwd+"&Mobile="+mobile+"&Content="+send_content+"&Cell=&SendTime=&encode=GBK" : corpId+"&Pwd="+pwd+"&Mobile="+mobile+"&Content="+send_content+"&Cell=&SendTime="+send_time+"&encode=GBK";
        url = new URL("http://ty.esoftsms.com/ws/BatchSend.aspx?CorpID=" + param );
        BufferedReader in = null;
        long inputLine = 0;
        try {
            in = new BufferedReader(new InputStreamReader(url.openStream()));
            inputLine = new Long(in.readLine()).longValue();
        } catch (Exception e) {
            log.error("sendMsg error, phone: {}, code: {}", mobile, code, e);
            inputLine=-2;
        }
        //System.out.println("�������Ͷ��ŷ���ֵ��  "+inputLine);
        return inputLine;
    }
}
